今天我們要來學習 Angular 第三種資料繫結的方法:事件繫結(Event binding)。
我們要達成的目標是,點擊網頁上的圖片,然後標題會隨之改變。
因此,我們要在 HTML 的 img 標籤上,宣告一個 click 事件,語法如下:
透過 onclick 這個語法,就可以為圖片增加一個 click 事件,不過在 Angular 裡面,事件繫結的方法有兩種,先說明第一種,就是要把 onclick 加上 - 改寫成 on-click。
一般的情況,在 " " 裡頭應該放入一個 function,不過 Angular 裡頭並沒有 function,來到 AppComponent 的檔案中,我們可以看到 Angular 只有類別(class),而類別裡面只有屬性及方法。
所以,現在我們就是要新增一個方法。
新增完方法後,只要把方法的名稱複製下來,貼到 HTML img 標籤的 on-click 後面的 " " 裡頭,事件繫結(Event binding) 就完成了。
我們打開網頁,點擊圖片驗證一下,確實得到了我們要的結果。
我們剛才完成的動作,整個流程如下:
這裡要說明第二種事件繫結的寫法,也是比較推薦的方法,就是把 on-click 改成 (click)。
這個寫法近似 屬性繫結(Property binding),差別只在屬性繫結使用 中括號[ ],而事件繫結則使用 小括號( ),使用小括號的事件繫結寫法,也是多數 Angular 開發者會採用的。
我們切換回網頁,並打開開發人員工具,所有繫結到 title 屬性的地方確實透過 click img 都發生改變。
這裡順道提出一些使用 VS Code 在開發 Angular 應用程式時,體驗良好的地方。
我的開發環境是 Win 10,使用 ctrl + 空白鍵 沒有作用,使用 ctrl + I 才行,這兩者都是官方快速鍵一覽表中記載的。
這幾個輔助功能,都能讓我們在開發過程中減少錯誤並提升效率,建議大家可以多多利用。
以上,就是今天關於 事件繫結(Event binding) 的說明,我們下一篇再見~